package cliente;

import hibernate.dao.ClienteDAO;
import hibernate.entity.Cliente;

import javax.swing.*;
import java.text.ParseException;
import java.text.SimpleDateFormat;

public class CtrlCadastrarCliente {
	private Cliente c = new Cliente();
	private ClienteDAO dao = new ClienteDAO();
	private JTextField txtNome;
	private JFormattedTextField txtTelefone;
	private JFormattedTextField txtCelular;
	private	JTextField txtEmail;
	private JFormattedTextField txtDtNascimento;
	private JRadioButton rdbtnMasculino, rdbtnFeminino;
	
	
	public void addCliente(JTextField txtNome, JFormattedTextField txtTelefone, JFormattedTextField txtCelular,
			JTextField txtEmail, JFormattedTextField txtDtNascimento,JRadioButton rdbtnMasculino, JRadioButton rdbtnFeminino){
		
		c.setNome(txtNome.getText());
		c.setTelefone(txtTelefone.getText());
		c.setCelular(txtCelular.getText());
		c.setEmail(txtEmail.getText());
		
		try {
			c.setDtNasc(new SimpleDateFormat("dd/MM/yyyy").parse(txtDtNascimento.getText()));
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		c.setSexo(obterSexo(rdbtnMasculino, rdbtnFeminino));
		
		dao.adiciona(c);
	}
	
	public String obterSexo(JRadioButton rdbtnMasculino, JRadioButton rdbtnFeminino){
		if(rdbtnMasculino.isSelected()){
			return "M";
		}
		else return "F";
	}
	
	public void excluirCliente(String nome){
		dao.remove(dao.importaDados(nome));
	}
	
	public void alterarCliente(JComboBox cb,JTextField txtNome, JFormattedTextField txtTelefone, JFormattedTextField txtCelular,
			JTextField txtEmail, JFormattedTextField txtDtNascimento,JRadioButton rdbtnMasculino, JRadioButton rdbtnFeminino){
		c =dao.importaDados((String)cb.getSelectedItem());
		c.setNome(txtNome.getText());
		c.setTelefone(txtTelefone.getText());
		c.setCelular(txtCelular.getText());
		c.setEmail(txtEmail.getText());
		try {
			c.setDtNasc(new SimpleDateFormat("dd/MM/yyyy").parse(txtDtNascimento.getText()));
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		c.setSexo(obterSexo(rdbtnMasculino, rdbtnFeminino));{
		dao.altera(c);
	}
	}
	
	public void preencheCB(JComboBox cb){
		for(Cliente cliente : dao.getLista()){
			cb.addItem(cliente.getNome());
		}
	}
	
	public void pegarDados(JTextField txtNome, JFormattedTextField txtTelefone, JFormattedTextField txtCelular,
			JTextField txtEmail, JFormattedTextField txtDtNascimento,JRadioButton rdbtnMasculino, JRadioButton rdbtnFeminino,JComboBox cb){
		Cliente cliente = new Cliente();
		cliente = dao.importaDados((String) cb.getSelectedItem());
		txtNome.setText(cliente.getNome());
		txtTelefone.setText(cliente.getTelefone());
		txtCelular.setText(cliente.getCelular());
		txtEmail.setText(cliente.getEmail());
		txtDtNascimento.setText(new SimpleDateFormat("dd/MM/yyyy").format(cliente.getDtNasc()));
		if(cliente.getSexo().equals("M")){
			rdbtnMasculino.setSelected(true);
		}
		else{
			rdbtnFeminino.setSelected(true);
		}
	}
}
